1. Field of the Invention
The invention relates to data processing systems, and more particularly to a subsystem call mechanism for use in a memory-accessing system which protects memory locations from unauthorized access.
2. Description of the Related Art
Modern computer systems are organized such that all information within the system is represented by hardware-recognized, memory-resident information structures called objects. This is known as an object-oriented computer architecture. An object is a package of data that is a representation of related information maintained in a logically-contiguous addressed set of memory locations.
In an object-oriented programming system, each type or class of object has a set of operations that are permitted to be performed on the objects that are members of the class. This is known as an object-based access mechanism. The internal structure of objects is hidden from the programmer. The programmer can manipulate the objects only with the permitted operations. Access to an object is by means of a pointer to the object called an access descriptor. An access descriptor describes the kind of representation (rep) rights (such as read rights or write rights) which define the various kinds of access to the object that are permitted by the holder of the access descriptor for that object.
In the system described in the above-reference U.S. Pat. No. 5,075,842 programming complexity is reduced in an object-oriented computer system by tagging words stored in memory so that the protection mechanism can distinguish between ordinary data and protected access descriptors. This type of protection is called a capability-based protection mechanism as distinguished from the older state-based protection mechanism. A state-based protection mechanism relies on a supervisor program state and a user state with privileged instructions performable only in the supervisor state. In order to provide for compatibility with the older untagged operating system and the new tagged operating system, it is desirable to be able to map supervisor calls of an untagged operating system to a tagged operating system.
It is therefore an object of the present invention to provide a call/return mechanism that can function with both a capability-based protection mechanism and a state-based protection mechanism.